{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1145,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np  \n",
    "import pandas as pd\n",
    "import sklearn\n",
    "from matplotlib import pyplot as plt\n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "from sklearn.linear_model import LogisticRegression,LinearRegression\n",
    "from sklearn.metrics import mean_squared_error,log_loss,roc_auc_score,accuracy_score,confusion_matrix\n",
    "from xgboost import XGBClassifier\n",
    "from sklearn.model_selection import StratifiedKFold\n",
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn import model_selection\n",
    "from sklearn.model_selection import KFold \n",
    "\n",
    "# from sklearn.ensemble import ExtraTreesRegressor\n",
    "# from sklearn.externals import joblib\n",
    "# from keras import Sequential\n",
    "# from keras.layers import LSTM, Dropout, Dense\n",
    "# from sklearn.linear_model import LinearRegression, SGDRegressor\n",
    "# from sklearn.metrics import mean_squared_error\n",
    "# from sklearn import preprocessing \n",
    "# from xgboost import XGBRegressor, plot_importance\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1146,
   "metadata": {},
   "outputs": [],
   "source": [
    "student_data = pd.read_csv('features.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1147,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>school</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>address</th>\n",
       "      <th>famsize</th>\n",
       "      <th>Pstatus</th>\n",
       "      <th>Medu</th>\n",
       "      <th>Fedu</th>\n",
       "      <th>Mjob</th>\n",
       "      <th>Fjob</th>\n",
       "      <th>...</th>\n",
       "      <th>health</th>\n",
       "      <th>absences</th>\n",
       "      <th>G1</th>\n",
       "      <th>G2</th>\n",
       "      <th>G3</th>\n",
       "      <th>subject</th>\n",
       "      <th>FinalGrade</th>\n",
       "      <th>Regularity</th>\n",
       "      <th>Grade1</th>\n",
       "      <th>Grade2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>18</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>A</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>at_home</td>\n",
       "      <td>teacher</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>Satisfactory</td>\n",
       "      <td>Always Regular</td>\n",
       "      <td>Failure</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>17</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>at_home</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>9</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>Satisfactory</td>\n",
       "      <td>Always Regular</td>\n",
       "      <td>Poor</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>15</td>\n",
       "      <td>U</td>\n",
       "      <td>LE3</td>\n",
       "      <td>T</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>at_home</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "      <td>13</td>\n",
       "      <td>12</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>Satisfactory</td>\n",
       "      <td>Always Regular</td>\n",
       "      <td>Satisfactory</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>15</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>health</td>\n",
       "      <td>services</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>14</td>\n",
       "      <td>14</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>Satisfactory</td>\n",
       "      <td>Always Regular</td>\n",
       "      <td>Satisfactory</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>16</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>other</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>13</td>\n",
       "      <td>13</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>Satisfactory</td>\n",
       "      <td>Always Regular</td>\n",
       "      <td>Satisfactory</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 38 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\n",
       "0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \n",
       "1     GP   F   17       U     GT3       T     1     1  at_home     other   \n",
       "2     GP   F   15       U     LE3       T     1     1  at_home     other   \n",
       "3     GP   F   15       U     GT3       T     4     2   health  services   \n",
       "4     GP   F   16       U     GT3       T     3     3    other     other   \n",
       "\n",
       "       ...      health absences  G1  G2  G3     subject    FinalGrade  \\\n",
       "0      ...           3        4   0  11  11  Portuguese  Satisfactory   \n",
       "1      ...           3        2   9  11  11  Portuguese  Satisfactory   \n",
       "2      ...           3        6  12  13  12  Portuguese  Satisfactory   \n",
       "3      ...           5        0  14  14  14  Portuguese  Satisfactory   \n",
       "4      ...           5        0  11  13  13  Portuguese  Satisfactory   \n",
       "\n",
       "       Regularity        Grade1        Grade2  \n",
       "0  Always Regular       Failure  Satisfactory  \n",
       "1  Always Regular          Poor  Satisfactory  \n",
       "2  Always Regular  Satisfactory  Satisfactory  \n",
       "3  Always Regular  Satisfactory  Satisfactory  \n",
       "4  Always Regular  Satisfactory  Satisfactory  \n",
       "\n",
       "[5 rows x 38 columns]"
      ]
     },
     "execution_count": 1147,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "student_data.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1148,
   "metadata": {},
   "outputs": [],
   "source": [
    "# train.to_csv('student.csv', index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1149,
   "metadata": {},
   "outputs": [],
   "source": [
    "lb=LabelEncoder()\n",
    "lb.fit(student_data['FinalGrade'])\n",
    "student_data['FinalGrade']=lb.transform(student_data['FinalGrade'])\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1150,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>school</th>\n",
       "      <th>sex</th>\n",
       "      <th>age</th>\n",
       "      <th>address</th>\n",
       "      <th>famsize</th>\n",
       "      <th>Pstatus</th>\n",
       "      <th>Medu</th>\n",
       "      <th>Fedu</th>\n",
       "      <th>Mjob</th>\n",
       "      <th>Fjob</th>\n",
       "      <th>...</th>\n",
       "      <th>health</th>\n",
       "      <th>absences</th>\n",
       "      <th>G1</th>\n",
       "      <th>G2</th>\n",
       "      <th>G3</th>\n",
       "      <th>subject</th>\n",
       "      <th>FinalGrade</th>\n",
       "      <th>Regularity</th>\n",
       "      <th>Grade1</th>\n",
       "      <th>Grade2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>18</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>A</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>at_home</td>\n",
       "      <td>teacher</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>4</td>\n",
       "      <td>Always Regular</td>\n",
       "      <td>Failure</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>17</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>at_home</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>9</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>4</td>\n",
       "      <td>Always Regular</td>\n",
       "      <td>Poor</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>15</td>\n",
       "      <td>U</td>\n",
       "      <td>LE3</td>\n",
       "      <td>T</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>at_home</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "      <td>13</td>\n",
       "      <td>12</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>4</td>\n",
       "      <td>Always Regular</td>\n",
       "      <td>Satisfactory</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>15</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>health</td>\n",
       "      <td>services</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>14</td>\n",
       "      <td>14</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>4</td>\n",
       "      <td>Always Regular</td>\n",
       "      <td>Satisfactory</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>GP</td>\n",
       "      <td>F</td>\n",
       "      <td>16</td>\n",
       "      <td>U</td>\n",
       "      <td>GT3</td>\n",
       "      <td>T</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>other</td>\n",
       "      <td>other</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>13</td>\n",
       "      <td>13</td>\n",
       "      <td>Portuguese</td>\n",
       "      <td>4</td>\n",
       "      <td>Always Regular</td>\n",
       "      <td>Satisfactory</td>\n",
       "      <td>Satisfactory</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 38 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "  school sex  age address famsize Pstatus  Medu  Fedu     Mjob      Fjob  \\\n",
       "0     GP   F   18       U     GT3       A     4     4  at_home   teacher   \n",
       "1     GP   F   17       U     GT3       T     1     1  at_home     other   \n",
       "2     GP   F   15       U     LE3       T     1     1  at_home     other   \n",
       "3     GP   F   15       U     GT3       T     4     2   health  services   \n",
       "4     GP   F   16       U     GT3       T     3     3    other     other   \n",
       "\n",
       "       ...      health absences  G1  G2  G3     subject FinalGrade  \\\n",
       "0      ...           3        4   0  11  11  Portuguese          4   \n",
       "1      ...           3        2   9  11  11  Portuguese          4   \n",
       "2      ...           3        6  12  13  12  Portuguese          4   \n",
       "3      ...           5        0  14  14  14  Portuguese          4   \n",
       "4      ...           5        0  11  13  13  Portuguese          4   \n",
       "\n",
       "       Regularity        Grade1        Grade2  \n",
       "0  Always Regular       Failure  Satisfactory  \n",
       "1  Always Regular          Poor  Satisfactory  \n",
       "2  Always Regular  Satisfactory  Satisfactory  \n",
       "3  Always Regular  Satisfactory  Satisfactory  \n",
       "4  Always Regular  Satisfactory  Satisfactory  \n",
       "\n",
       "[5 rows x 38 columns]"
      ]
     },
     "execution_count": 1150,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "student_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1151,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>Medu</th>\n",
       "      <th>Fedu</th>\n",
       "      <th>traveltime</th>\n",
       "      <th>studytime</th>\n",
       "      <th>failures</th>\n",
       "      <th>famrel</th>\n",
       "      <th>freetime</th>\n",
       "      <th>goout</th>\n",
       "      <th>Dalc</th>\n",
       "      <th>...</th>\n",
       "      <th>Grade1_Excellent</th>\n",
       "      <th>Grade1_Failure</th>\n",
       "      <th>Grade1_Good</th>\n",
       "      <th>Grade1_Poor</th>\n",
       "      <th>Grade1_Satisfactory</th>\n",
       "      <th>Grade2_Excellent</th>\n",
       "      <th>Grade2_Failure</th>\n",
       "      <th>Grade2_Good</th>\n",
       "      <th>Grade2_Poor</th>\n",
       "      <th>Grade2_Satisfactory</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>18</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>17</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>15</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>15</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>16</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 70 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   age  Medu  Fedu  traveltime  studytime  failures  famrel  freetime  goout  \\\n",
       "0   18     4     4           2          2         0       4         3      4   \n",
       "1   17     1     1           1          2         0       5         3      3   \n",
       "2   15     1     1           1          2         0       4         3      2   \n",
       "3   15     4     2           1          3         0       3         2      2   \n",
       "4   16     3     3           1          2         0       4         3      2   \n",
       "\n",
       "   Dalc         ...           Grade1_Excellent  Grade1_Failure  Grade1_Good  \\\n",
       "0     1         ...                          0               1            0   \n",
       "1     1         ...                          0               0            0   \n",
       "2     2         ...                          0               0            0   \n",
       "3     1         ...                          0               0            0   \n",
       "4     1         ...                          0               0            0   \n",
       "\n",
       "   Grade1_Poor  Grade1_Satisfactory  Grade2_Excellent  Grade2_Failure  \\\n",
       "0            0                    0                 0               0   \n",
       "1            1                    0                 0               0   \n",
       "2            0                    1                 0               0   \n",
       "3            0                    1                 0               0   \n",
       "4            0                    1                 0               0   \n",
       "\n",
       "   Grade2_Good  Grade2_Poor  Grade2_Satisfactory  \n",
       "0            0            0                    1  \n",
       "1            0            0                    1  \n",
       "2            0            0                    1  \n",
       "3            0            0                    1  \n",
       "4            0            0                    1  \n",
       "\n",
       "[5 rows x 70 columns]"
      ]
     },
     "execution_count": 1151,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y=student_data[['FinalGrade']]\n",
    "student_data = student_data.drop(['Regularity'],axis=1);\n",
    "student_data = pd.get_dummies(student_data)\n",
    "student_data = student_data.drop(['G3'],axis=1);\n",
    "student_data = student_data.drop(['FinalGrade'],axis=1);\n",
    "\n",
    "\n",
    "student_data.head()\n",
    "# student_data = student_data.drop(['G2'],axis=1);\n",
    "# student_data = student_data.drop(['G1'],axis=1);\n",
    "# student_data = student_data.drop(['Regularity'],axis=1);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1152,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "x_train,x_val,y_train,y_val=train_test_split(student_data,y,test_size=0.3,random_state=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1153,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(730, 1)"
      ]
     },
     "execution_count": 1153,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1154,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\linear_model\\logistic.py:432: FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.\n",
      "  FutureWarning)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\utils\\validation.py:752: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\linear_model\\logistic.py:459: FutureWarning: Default multi_class will be changed to 'auto' in 0.22. Specify the multi_class option to silence this warning.\n",
      "  \"this warning.\", FutureWarning)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "lr=LogisticRegression()\n",
    "lr.fit(x_train,y_train)\n",
    "y_pred=lr.predict(x_val)\n",
    "y_predict=lr.predict_proba(x_val)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1155,
   "metadata": {},
   "outputs": [],
   "source": [
    "# y_pred=y_pred.astype('int')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1156,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.49894866164674245"
      ]
     },
     "execution_count": 1156,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "log_loss(y_val,y_predict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1157,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8439490445859873"
      ]
     },
     "execution_count": 1157,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(y_val,y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1158,
   "metadata": {},
   "outputs": [],
   "source": [
    "# lr.score(x_val, y_val)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1159,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\utils\\validation.py:752: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\svm\\base.py:196: FutureWarning: The default value of gamma will change from 'auto' to 'scale' in version 0.22 to account better for unscaled features. Set gamma explicitly to 'auto' or 'scale' to avoid this warning.\n",
      "  \"avoid this warning.\", FutureWarning)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.svm import SVC, LinearSVC\n",
    "svc = SVC()\n",
    "\n",
    "svc.fit(x_train, y_train)\n",
    "\n",
    "y_pred = svc.predict(x_val)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1160,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8280254777070064"
      ]
     },
     "execution_count": 1160,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(y_val,y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1171,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\ipykernel_launcher.py:4: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n",
      "  after removing the cwd from sys.path.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Raondom Forest Model Score : 0.9452054794520548 , Cross Validation Score : 0.8343949044585988\n"
     ]
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier,GradientBoostingClassifier\n",
    "\n",
    "forest = RandomForestClassifier(n_estimators=346, min_samples_leaf=2)\n",
    "f = forest.fit(x_train, y_train)\n",
    "print(\"Raondom Forest Model Score\" , \":\" , f.score(x_train, y_train) , \",\" ,\n",
    "      \"Cross Validation Score\" ,\":\" , f.score(x_val, y_val))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1172,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8280254777070064"
      ]
     },
     "execution_count": 1172,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(y_val,y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1173,
   "metadata": {},
   "outputs": [],
   "source": [
    "#log_loss(y_val,y_pred_prob)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1174,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 842.4x595.44 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "labels = list(range(0,5))\n",
    "import seaborn as sns    \n",
    "cm=confusion_matrix(y_val,y_pred)\n",
    "a4_dims = (11.7, 8.27)\n",
    "fig, ax = plt.subplots(figsize=a4_dims)\n",
    "ax= plt.subplot()\n",
    "sns.heatmap(cm, annot=True, ax = ax); #annot=True to annotate cells\n",
    "\n",
    "# labels, title and ticks\n",
    "ax.set_xlabel('Predicted labels');ax.set_ylabel('True labels'); \n",
    "ax.set_title('Confusion Matrix'); \n",
    "ax.xaxis.set_ticklabels(labels); ax.yaxis.set_ticklabels(labels);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1175,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:219: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:252: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "XGBClassifier(base_score=0.5, booster='gbtree', colsample_bylevel=1,\n",
       "       colsample_bytree=1, gamma=0, learning_rate=0.1, max_delta_step=0,\n",
       "       max_depth=3, min_child_weight=1, missing=None, n_estimators=100,\n",
       "       n_jobs=1, nthread=None, objective='multi:softprob', random_state=0,\n",
       "       reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=None,\n",
       "       silent=True, subsample=1)"
      ]
     },
     "execution_count": 1175,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = XGBClassifier()\n",
    "model=XGBClassifier(learning_rate=0.1,n_estimators=100)\n",
    "# kf = RepeatedKFold(n_splits=5, n_repeats=10, random_state=None) \n",
    "\n",
    "# for train_index, test_index in kf.split(X):\n",
    "#       print(\"Train:\", train_index, \"Validation:\",test_index)\n",
    "#       X_train, X_test = x_train[train_index], x_val[test_index] \n",
    "#       y_train, y_test = y_train[train_index], y_val[test_index]\n",
    "\n",
    "# kfold = StratifiedKFold(y_train, n_folds=3, shuffle=True, random_state=7)\n",
    "# for traincv,testcv in kfold:\n",
    "model.fit(x_train,y_train)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1176,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_pred=model.predict(x_val)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1177,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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9VOnTqVXr14lxgmT/Pz80D5bbaT5SB6ai4op6NZO7wOXHXjh7r80szRgeVUGcfdpwDSA9HYdfOIa/Tokg5u6FKG5SA41ORd5QyIAuDtDhw7le9/7HpMnTy4+P2/ePObOnctbb71Fy5YtS1z7zTffcOWVV7Jo0SLatWtXI/XWtGg0SiQSSXQZEtB8JA/NRcX0v6a10wLgD2Z2jbs/FLQ1OpIBU+vVJbeMPYJS86LRaHHokcRKxFwsXryYJ554gi5duhR/e8If/vAHrr/+er7++mv69u0LxD6Q9vDDsW36ixYtom3btqENuSIih0tBtxZydzezS4BJZnYz8AVQANwCYGZ5QFOgftCvn7t/kKh6RaTyzjrrLNz9oPYLL7yw3GsikQhLly6tzrJERGolBd1ayt0/JfaVYmWdy6jZakRERESSj751QURERERCSUFXREREREJJQVdEREREQklBV0RERERCSUFXREREREJJQVdEREREQklBV0RERERCSUFXREREREJJQVdEREREQklBV0RERERCSUFXREREREJJQVdEREREQklBV0QOMmLECFq1akVWVlZx22233UbXrl3Jzs6mX79+bN68GYB169Zx5pln0qBBAyZMmJCokkVERA6ioJtEzGy/meXE/WRU4drpZjao+qqTY8mwYcOYN29eibaxY8eyevVqcnJyuOiii7jrrrsAaNGiBQ888ABjxoxJRKkiIiLlSkl0AVJCobtnJ+TG+/aTMe6VRNxaSrmpSxHDEjQXeeP7A3D22WeTl5dX4lzTpk2LjwsKCjAzAFq1akWrVq145RX9/oiISHJR0E1yZlYXGA9EgAbAVHf/s8VSxhTgB8BHgMVdkwf0dPetZtYTmODukRouXULo1ltv5fHHH6dZs2YsXLgw0eWIiIhUSFsXkktq3LaFF4K2kcCX7n4GcAbwczM7GRgIdAS6AD8H/iMhFcsx5e6772bjxo0MGTKEBx98MNHliIiIVEgrusmlrK0L/YCucftvmwGnAGcDs9x9P7DZzBZU9WZmNgoYBZCW1pLbuxQdfuVy1ByfGtu+kAjRaLT4+LPPPqOgoKBE2wEnn3wyv/nNb+jTp09xW15eHqmpqWX2r63y8/ND9Ty1meYiuWg+kofmomIKusnPgOvc/fUSjWYXAl7ONUX8e7W+YXkDu/s0YBpAersOPnGNfh2SwU1d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\n",
      "text/plain": [
       "<Figure size 720x1440 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from xgboost import plot_importance\n",
    "# plot feature importance\n",
    "fig, ax = plt.subplots(figsize=(10, 20))\n",
    "plot_importance(model, ax=ax)\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1178,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.8312101910828026"
      ]
     },
     "execution_count": 1178,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(y_val,y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1179,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "KFold(n_splits=10, random_state=None, shuffle=False)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "KFold(n_splits=10, random_state=None, shuffle=False)"
      ]
     },
     "execution_count": 1179,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.model_selection import KFold # import KFold\n",
    "X = x_train\n",
    "y = y_train\n",
    "kf = KFold(n_splits=10) # Define the split - into 2 folds \n",
    "kf.get_n_splits(X) # returns the number of splitting iterations in the cross-validator\n",
    "print(kf) \n",
    "KFold(n_splits=10, random_state=None, shuffle=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1137,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:219: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:252: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:219: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:252: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:219: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:252: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:219: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:252: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:219: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:252: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:219: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:252: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:219: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:252: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:219: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:252: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:219: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:252: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:219: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n",
      "C:\\Users\\Siddu\\Miniconda3\\lib\\site-packages\\sklearn\\preprocessing\\label.py:252: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([0.83561644, 0.79452055, 0.83561644, 0.78082192, 0.79452055,\n",
       "       0.8630137 , 0.79452055, 0.82191781, 0.82191781, 0.84931507])"
      ]
     },
     "execution_count": 1137,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#k-fold cross validation\n",
    "from sklearn.model_selection import cross_val_score\n",
    "clf = model\n",
    "cross_val_score(clf,x_train, y_train, cv=kf, n_jobs=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1181,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Feature ranking:\n",
      "1. feature 1 (0.295902)\n",
      "2. feature 2 (0.208351)\n",
      "3. feature 0 (0.177632)\n",
      "4. feature 3 (0.047121)\n",
      "5. feature 6 (0.046303)\n",
      "6. feature 8 (0.046013)\n",
      "7. feature 7 (0.045575)\n",
      "8. feature 4 (0.044614)\n",
      "9. feature 9 (0.044577)\n",
      "10. feature 5 (0.043912)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.datasets import make_classification\n",
    "from sklearn.ensemble import ExtraTreesClassifier\n",
    "\n",
    "# Build a classification task using 3 informative features\n",
    "X, y = make_classification(n_samples=1000,\n",
    "                           n_features=10,\n",
    "                           n_informative=3,\n",
    "                           n_redundant=0,\n",
    "                           n_repeated=0,\n",
    "                           n_classes=2,\n",
    "                           random_state=0,\n",
    "                           shuffle=False)\n",
    "\n",
    "# Build a forest and compute the feature importances\n",
    "forest = ExtraTreesClassifier(n_estimators=250,random_state=0)\n",
    "\n",
    "forest.fit(X, y)\n",
    "importances = forest.feature_importances_\n",
    "std = np.std([tree.feature_importances_ for tree in forest.estimators_],\n",
    "             axis=0)\n",
    "indices = np.argsort(importances)[::-1]\n",
    "\n",
    "# Print the feature ranking\n",
    "print(\"Feature ranking:\")\n",
    "\n",
    "for f in range(X.shape[1]):\n",
    "    print(\"%d. feature %d (%f)\" % (f + 1, indices[f], importances[indices[f]]))\n",
    "\n",
    "# Plot the feature importances of the forest\n",
    "plt.figure()\n",
    "plt.title(\"Feature importances\")\n",
    "plt.bar(range(X.shape[1]), importances[indices],\n",
    "       color=\"r\", yerr=std[indices], align=\"center\")\n",
    "plt.xticks(range(X.shape[1]), indices)\n",
    "plt.xlim([-1, X.shape[1]])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
